package com.angenela.lmz.mapper;

import com.angenela.lmz.pojo.ImageAndUser;
import com.angenela.lmz.pojo.Image;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ImageMapper {
    /**
     * 添加一个图片的信息到数据库
     * @param image
     * @return
     */
    int addImage(Image image);

    /**
     * 根据用户id获取所有图片
     * @param userId
     * @return
     */
    List<ImageAndUser> getImageByUserId(Integer userId);

    /**
     * 随机获取一定数量的图片
     * @param count
     * @return
     */
    List<ImageAndUser> randGetImages(Integer count);

    /**
     * 根据图片id进行点赞
     * @param id
     */
    void starById(Integer id);

    /**
     * 根据tagId获取一定数量的图片
     * @param tagId
     * @param count
     * @return
     */
    List<ImageAndUser> randGetImagesByTagId(@Param("tagId") Integer tagId, @Param("count") Integer count);

    /**
     * 根据图片id删除图片
     * @param id
     */
    void deleteById(Integer id);
}
